草庐IT

TypeScript 运算符

全部标签

javascript - TypeScript/JavaScript 中的 array.indexOf

这个问题在这里已经有了答案:indexOfmethodinanobjectarray?(29个答案)关闭6年前。更新:虽然这个问题被标记为与this重复.但是@ssube的方法很简洁,也更聪明。更新2:@Grungondola的评论中似乎有新的方法可以做到这一点。我正在使用Typescript。这很有效。vararray1=[];array1.push(5);array1.push(6);console.log("a",array2.indexOf(6));但这并不能很好地工作。因为array2.indexOf返回-1,这意味着它没有找到它。vararray2=[];array2.pu

javascript - 如何在 typescript 中包含原型(prototype)

我正在学习angular2,我已经为我想在我的一项服务中使用的chop方法编写了一个ts定义。chop.tsinterfaceString{truncate(max:number,decorator:string):string;}String.prototype.truncate=function(max,decorator){decorator=decorator||'...';return(this.length>max?this.substring(0,max)+decorator:this);};如何将其导入另一个typescript模块或至少使其可在全局范围内使用。

javascript - "^="运算符在此查找非配对数字算法中做了什么?

这个问题在这里已经有了答案:findtheonlyunpairedelementinthearray(10个答案)Whatarebitwiseoperators?(9个回答)WhatdotheseJavaScriptbitwiseoperatorsdo?(3个答案)关闭5年前。看到一段有趣的代码,用于在重复数字列表中找到一个孤独的数字(其中列表中的每个数字都出现两次,除了一个)。functionfindNonPaired(listOfNumbers){letnonPairedNumber=0listOfNumbers.forEach((n)=>{nonPairedNumber^=n})

javascript - 如何在 TypeScript 2 中转换为数组?

我有一些代码将对象转换为数组类型(这样我就可以在对象上使用数组函数而不会出现编译错误)。varn=(result.data['value']as[]).map((a)=>{//..});但是在升级到ts2时,我得到:errorTS1122:Atupletypeelementlistcannotbeempty.这实际上是语法错误,声称您忘记了逗号或值。那么,我该如何修改此转换才能正常工作?我试过as[IMyType]并且它有效,但我不想指定类型,因为我在这里只需要array.prototype函数......还有,我不认为那是你实际这样做的方式。 最佳答案

javascript - typescript 如何在foreach循环中访问组件变量?

嘿,有人能告诉我如何在foreach循环中访问组件变量吗?这是我的PlunkerpublictestVariable:number;test(){console.log('fired');varx=[1,2,3,4];x.forEach(function(e){this.testVariable=e;})console.log(this.testVariable);} 最佳答案 如果你使用function(e),它里面的this会引用函数的作用域而不是类。改用ArrowFunction(或FatArrow):x.forEach((e

javascript - Javascript '>' 运算符如何将字符与空格进行比较?

我试图理解这个表达式:((ch=stream.getChar())>'')这里,getChar()获取一个字符。这个大于比较运算符如何检查是否有任何字符大于空格?这可能吗? 最佳答案 空白处有字符代码。虽然看起来不怎么样,但还是有一定的值(value)的。从流中获取的字符也是如此。比较这些值的字符代码是产生输出的原因。 关于javascript-Javascript'>'运算符如何将字符与空格进行比较?,我们在StackOverflow上找到一个类似的问题:

javascript - TypeScript setTimeout 循环传递此错误

尝试在TypeScript中创建一个计时器循环:timeout(){setTimeout(function(){console.log('Test');this.timeout();},1000/60);}但在第一个循环正常工作后,我得到了这个错误:“未捕获的类型错误:this.timeout不是一个函数”。似乎this变量在初始循环后不存在。有什么想法吗? 最佳答案 因为您的this没有引用该对象。每个函数都有它自己的this。所以你的this是由setTimeout()中的匿名函数定义的。为了使您的程序正常运行,您需要在超时之前

javascript - 当按位运算符做同样的事情时为什么要使用逻辑运算符?

考虑这个条件:(true&true&false&false&true)==true//returns:false如您所见,按位与行为与逻辑与行为完全相同:(true&&true&&false&&false&&true)==true//returns:false我想知道为什么当按位运算与逻辑运算执行相同操作时我应该使用逻辑运算。注意:请不要回答这是因为性能问题,因为它在MozillaFirefox中快得多,请参阅此jsPerf:http://jsperf.com/bitwise-logical-and 最佳答案 使用逻辑运算符进行短路

javascript - Protractor + cucumber + typescript 失败

节点版本:4.4.5Protractor版本:3.3.0浏览器:chrome操作系统和版本Win7我正在尝试用typescript编写Protractor+cucumber组合。我的项目有一个简单的功能,可以打开页面并输入三个字段。我无法运行Protractor。它让我低于错误。$protractorprotractor.conf.js[13:40:55]I/hosted-Usingtheseleniumserverathttp://localhost:4444/wd/hub[13:40:55]I/launcher-Running1instancesofWebDriver⨯Unable

javascript - 弄清楚javascript相等运算符

在试图完全理解相等运算符和恒等运算符之间的区别时,我遇到了一个article在MSDN上,从内部工作原理的Angular解释了它们的作用,但我仍然有一些疑问,并决定创建一个流程图,以便更好地了解情况。现在我的问题是,这个流程图正确吗?还是我错过了什么?据我所知,恒等运算符(===)的工作方式几乎相同,但不会在第一步中尝试将A和B转换为bool值、数字或字符串。对吗?可以看到图片here也是:好的,这是真实的,这是原则问题;) 最佳答案 isthisflowchartcorrect?没有。您应该为AbstractEqualityCom